<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <!-- <script>
      var arr = [3, 6, 4, 5, 2, 1, 8, 9, 7, 0];

      var smallest, smallestIndex;
      // 准备一个暂存箱
      var temp;

      /* 依次锁定0~8号位的【交椅】 */
      for (var j = 0; j < arr.length - 1; j++) {
        // 锁定0号位时：将当前位置到末尾中的最小元素找出 与当期位元素互换位置
        // 一顶帽子记录谁是最小的元素
        smallest = arr[j];
        smallestIndex = j;

        for (var i = j; i < arr.length; i++) {
          // 发现有人比当前的戴帽者更小，则将帽子扣在这厮的脑袋上
          if (arr[i] < smallest) {
            console.log("旧戴帽者", smallest, smallestIndex);
            smallest = arr[i];
            smallestIndex = i;
            console.log("新戴帽者", smallest, smallestIndex);
          }
        }

        // 将arr[0]丢入暂存箱
        temp = arr[j];
        // 将当前带帽元素丢入0号位
        arr[j] = smallest;
        // 将暂存箱里的元素丢入刚才带帽元素的位置
        arr[smallestIndex] = temp;
        console.log(arr);
      }
    </script> -->

    <script>
      var a = [3, 6, 4, 0.5, 5, 2, 1, 8, 3.5, 9, 7, 0];

      function selectSort(arr) {
        var smallest, smallestIndex;
        var temp;

        for (var i = 0; i < arr.length - 1; i++) {
          /* 锁定i号位，并先假设[i,arr.length-1]中最小的元素是arr[i] */
          smallest = arr[i];
          smallestIndex = i;

          // 遍历过程中将最小元素及其位置记录在smallest,smallestIndex中
          for (var j = i + 1; j < arr.length; j++) {
            if (arr[j] < smallest) {
              smallest = arr[j];
              smallestIndex = j;
            }
          }

          // 将【i号位元素】与【smallestIndex位置的元素】互换位置
          temp = arr[i];
          arr[i] = smallest;
          arr[smallestIndex] = temp;

          console.log(arr);
        }
      }
    
      selectSort(a)
    </script>
  </body>
</html>
